package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
	//4����:��ַ,��,�û���,����
	//3������:����,����,���
	//�ر�ԭ��:
	//		���ú�غ����ȹ�
	//		�޸Ĳ���ֱ�ӹر�,��ѯ����ʹ����Ͻ���ٹر�
	//����ԭ��:
	//		�޸����:������,Ȼ���ȡ����,���ִ�в���,���رղ���
	//		��ѯ���:������,Ȼ���ȡ����,���ִ�в�����ȡ���
	
	//��ݿ�����
	private String username="root";
	//��ݿ�����
	private String password="root";
	//������ݿ�����,��ǰ��MySQL
	private String driver="com.mysql.jdbc.Driver";
	//Ҫ�������ӵ���ݿ��ַ,MySQL����ݿ�.��ǰ���ӵ���XP��ݿ�
	//127.0.0.1��IP�����ַ,���صĻ������Ի���localhost
	//characterEncodingJava����ݿ⽻���ı����ʽ
	private String url="jdbc:mysql://127.0.0.1:3306/qs?characterEncoding=UTF-8";
	//�û�������ݿ�Ĳ���
	private Connection conn = null;
	//ʵ�ʲ�����ݿ�
	private Statement stmt = null;
	//������ݿⷵ�ؽ��
	private ResultSet rs = null;
	
	//���캯��
	public DB(){
		try {
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
			System.out.println("������ʧ��,ʧ��:"+e.getMessage());
		}
	}
	
	/**
	 * �޸���ݿ����
	 * @param sql ��Ҫִ�е�sql���
	 */
	public void updateDB(String sql){
		try {
			conn = DriverManager.getConnection(url, username, password);
			stmt = conn.createStatement();
			stmt.executeUpdate(sql);
			close();
		} catch (SQLException e) {
			System.out.println("ִ���޸���ݿ����,sql:"+sql);
			System.out.println("ִ���޸���ݿ����ʧ��,ʧ��:"+e.getMessage());
		}
	}
	
	/**
	 * ��ѯ��ݿ����
	 * @param sql ��ѯ���
	 * @return ���
	 */
	public ResultSet findDB(String sql){
		try {
			conn = DriverManager.getConnection(url, username, password);
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			
		} catch (SQLException e) {
			System.out.println("ִ�в�����ݿ����,sql:"+sql);
			System.out.println("ִ�в�����ݿ����ʧ��,ʧ��:"+e.getMessage());
		}
		return rs;
	}
	
	/**
	 * �ر�ԭ��,���õĺ��,���õ��ȹ�
	 * �޸ĵĹر�ֱ�����޸ķ����������ӹر�
	 * �鿴�Ĺر���Ҫ��ǰ��ѯ������resultsetʹ�����֮���ٽ��йر�
	 */
	public void close(){
		try {
			if(rs!=null){
				rs.close();
			}
			if(stmt!=null){
				stmt.close();
			}
			if(conn!=null){
				conn.close();
			}
		} catch (Exception e) {
			System.out.println("�ر�jdbcʧ��:"+e.getMessage());
		}
	}
}
